Professional Documents
Culture Documents
BUILDER GUIDE
UP FRAMEWORKTM
RELEASE 4.1
1 Overview ........................................................................................................................ 7
1.1 Configuration Builder features ................................................................................ 7
1.2 Basic concepts ....................................................................................................... 8
1.2.1 Environment ............................................................................................... 8
1.2.2 Configuration repository ............................................................................. 8
1.2.3 Cartridges................................................................................................... 8
1.2.4 Deployment ................................................................................................ 9
1.2.5 Edit offline .................................................................................................. 9
1.2.6 Validation ................................................................................................... 9
1.2.7 Clone configurations .................................................................................. 9
1.2.8 Menus and toolbar ................................................................................... 10
1.2.9 Status bar ................................................................................................. 10
1.2.10 Expression list option ............................................................................... 10
5 Cartridges .................................................................................................................... 43
5.1 User cartridges ..................................................................................................... 43
5.1.1 Primary users ........................................................................................... 43
5: Cartridges
3.6 December 20, 2017 Added information regarding
supported Upgrade Modes
5: Cartridges
3.3.1
Updated screenshots
Configuration Builder provides a comprehensive feature set for developing and managing UPF cartridges and
configuration. There are two primary modes that the tool supports; Configuration Editing and Cartridge Editing. The
main features of Configuration Builder include:
Configuration Builder functions in both offline and online modes. In offline mode, you can work with configurations
in a development or test environment. In online mode, you can connect to a variety of UPF environments and
download and upload configurations from and to live UPF runtimes. Administrators can validate changes to
configurations for auditing and accounting purposes.
The panels available for an instance of the ACI UPF depend on the ACI UPF configuration (that is, which
components have been installed and configured). This guide is generic and uses generic ACI UPF panels as
examples.
Field validation
When a new configuration entry is built in Configuration Builder, that configuration is constructed and attached to
the configuration tree (see Configuration explorer for more information about configuration trees).
Simple validation occurs as you enter text. Configuration Builder highlights changes to a field. When you create a
new configuration entry, a changed field is any field that no longer contains its default value. Configuration Builder
will also highlight any fields in error.
Permissions
ACI UPF enforces user access and permissions. You must authenticate when connecting to an instance of the ACI
UPF. You are assigned a user group and a user role, which determines your access rights. The license installed on
a UPF platform also impacts which configuration items are available to view and edit.
Users and User Groups are created and modified in Platform Manager. See the UPF Platform Manager Guide for
details.
1.2.1 Environment
Configuration Builder supports configurations across multiple UPF platforms located on different physical hardware
installations. Configuration Builder refers to any set of hosts capable of running a UPF instance as an environment.
UPF configurations are independent of the environment, so a configuration can be migrated through development
and test environments and on to production. Typically, more rigorous testing is applied in each successive
environment before the configuration is approved for release to production.
Configuration Builder stores its configurations in a local repository. Administrators download configurations from an
existing UPF environment. Each Configuration Builder installation can have any number of local configurations.
Administrators can edit, import, compare, merge, and deploy configurations.
Note: The configurations in the Configuration repository are stored locally on the machine in the working directory
of Configuration Builder. The location is: <workspace>/config/LocalRepos. The files have a suffix of .ser.
1.2.3 Cartridges
ACI UPF uses cartridges to support the dynamic loading and removal of functionality from a live UPF instance. A
cartridge is a packaging unit containing compiled code, configuration components, resources, and so on. A
configuration cartridge hosts the configuration parameters of the entire UPF.
Typically, changes that you make to the configuration will be stored in the configuration cartridge. It is possible to
move a configuration between the Configuration and User Cartridges. This is described in more detail in section
4.12.
Configuration Builder Guide 8
UPF 4.1
1.2.4 Deployment
Deployment is the process where you deliver an amended or updated configuration to a live UPF environment.
This might be from a developer's workstation to a local development UPF or from a UPF administrator's
workstation to a production environment.
Configuration Builder maintains copies of UPF configurations in a local repository, so it does not need a direct
connection to a live UPF instance for you to manipulate a configuration. This feature allows for greater control over
how a UPF configuration changes, facilitating integration with existing enterprise change management systems and
processes.
1.2.6 Validation
Validation is the process where a UPF validates a pending configuration before activating it for live use. This
process ensures the integrity of the configuration by validating properties, references, and dependencies.
You can use the Clone and New from clone functions to duplicate configuration entities. This increases productivity
by allowing existing configurations to be reused and preventing arduous and error prone manual entry of
configuration parameters.
The Clone function creates a copy of the configuration that is stored on the application clipboard. This configuration
is available for selection from the clipboard for subsequent New from clone operations, if the component type is the
same.
As the configuration is merely a tree, it is possible to treat any branch of the tree as a clone target. The tree can be
easily cloned and stored in Configuration Builder (in the clipboard) for later use.
Configuration Builder determines whether a cloned configuration tree is suitable for pasting at a given point.
Defined configurations can also be cloned from one UPF configuration to another. This uses a global clipboard that
allows configuration trees to be stored, regardless of whether the UPF configuration from which the configuration
entity was cloned is open or not. This means that in the clipboard, each tree should be associated with its source
UPF configuration and the user readable path in the UPF configuration.
Once the application is closed, the contents of the clipboard are cleared.
ACI's Configuration Builder and Platform Manager applications follow standard Windows conventions for mouse
and keyboard usage; however, the space bar is sometimes used like the Enter key, for example, instead of clicking
the highlighted button in a dialog box.
Behavior in Linux environments follows existing Linux mouse and keyboard usage conventions.
You can use the menu bar at the top of the application to access application functionality and the Configuration
Builder hot-keys for common menu commands.
The Configuration Builder status bar on the lower side of the application window displays information about events
in the application. The status bar shows after loading a UPF configuration.
The scripting widget allows multi-line scripts with validation and error messages included for expression fields. You
can configure multiple expressions to create criteria to match.
Line numbers are indicated for each expression, and errors are indicated with a red line under the expression and
an indicator in the side bar. You can edit expressions in a multi-line editor. The error message is shown when you
hover the mouse over the error indicator in the side bar.
See the UPF Hardware and Software Requirements guide for information about minimum requirements.
Configuration Builder and Platform Manager require a valid Java™ Virtual Machine (JVM) installed on the host
machine before installation can begin. JVMs are available for almost all modern desktop, workstation, and server
platforms. This section focuses on installation for Windows desktop and generic UNIX platforms.
Note: During the installation process in Windows, you might be requested to select the path to the relevant JVM.
Choose the same version of Java used by UPF instance.
The UPF stores cartridges in encrypted database tables to ensure compliance with PCI DSS (that is, passwords
must not be stored in the clear). The data offload/load configuration settings might contain sensitive data like user
names and passwords. These must be protected.
Because Configuration Builder can download this sensitive data as well, adequate protection must be provided on
the Configuration Builder side. The easiest way to do this is to install End User Applications on an encrypted file
system; Configuration Builder will store the downloaded configurations in the installation directory.
1. Go to https://netbeans.org/downloads/.
Note: Confirm that the download page is for version 8.2. If not, go to version 8.2.
2. From the Platform drop-down on the top-right, select "OS Independent Zip".
See the UPF Hardware and Software Requirements for more information.
If the configuration of the UPF is non-standard, confirm the portbases by checking the platform definition file, which
defines which ports must be configured on the firewall and which to use when connecting from Platform Manager
and Configuration Builder. The PlatformDefinition.txt which contains this type of configuration can be found in the
UPF installation directory (for example: /home/ACI/ACI/switch/log/switch1/).
Section Description
Platform Manager and Configuration Builder use the Java network protocol RMI to connect to the UPF. TCP
connections to multiple ports are utilized in an RMI connection. RMI connections use SSL.
Note: For the full list of port usage, see the Firewalls and Port Usage section in the UPF Installation Guide and
UPF Pre-Installation Guide.
EUA Tools use a list of diagnostics, also known as diags, to emit output related to specific subsystems, functions,
or activities within EUA Tools. Each diagnostic has a name, a default level, a trigger level (that is, at what level it
starts emitting output), an indicator whether it may emit sensitive data or not, and a description. The amount of
output generated by diagnostics is controlled by changing the level of the diagnostic. Higher levels for diagnostics
emit verbose output. The output generated by diagnostics contains the information about activities happening in
EUA Tools warnings, errors generated, and so on.
The diagnostic output generated by the diags are captured into different files. These files are created in the var/logs
directory of user's workspace. A workspace is a user specific directory where files related to the user are stored.
There are three different types of EUA diagnostic output files:
Configuration Builder Guide 13
UPF 4.1
• diag<yyymmdd>.txt
The diagnostic output related to general activities that are happening in EUA Tools is captured in diag files. The
diag files are retained for 10 days before they are removed from the system.
• sdiag<yyyymmddhhmm>.txt
The diagnostic output which can contain sensitive data is captured in sdiag files. These files have a timestamp
associated with them and are rolled over every hour. The sdiag files are retained for 10 days before they are
removed from the system.
• messages.log
The warnings and errors, including program exceptions, that resulted while using EUA Tools are captured in the
messages.log file. Other information generated by the Netbeans platform is also logged in this file. The file is
automatically rolled over, and up to three files are retained as messages.log, messages.log.1, and
messages.log.2.
The EUA diagnostic capabilities such as UPF diagnostic adhere to following guiding principles:
• Control - access to diagnostics is controlled. Users must be authenticated and authorized to access and
change settings related to diagnostics.
• Visibility - the system gives clear indication when sensitive data is captured in the output files. Also, any
change to the diagnostic setting is captured in the audit log, that is, who made a change, what was changed,
when was the change, and so on.
• Limited - the system assists the users to ensure that only the minimum amount of sensitive data is collected.
Sensitive data is captured in its own files, thereby making it easier to securely dispose of that sensitive data.
• Protection - output files are protected using disk encryption, file system encryption, or similar encryption
methods. The locations of all files are described in the PCI PA-DSS Implementation Guide and System Object
Security Standard documents. A Secure Delete tool is provided to securely delete output files that may contain
sensitive data. The file name clearly indicates whether sensitive data might be in the file
Platform Manager and Configuration Builder provide a diagnostics control panel that allows you to interact with the
available list of diagnostics. The panel offers following functions to interact with the diagnostics:
To access the Diagnostics Control Panel, go to View > Diagnostics or in the toolbar click Diagnostics. In
Configuration Builder, you must enter your credentials before accessing the Diagnostics Control Panel because the
Configuration Builder is an offline tool. However, you are not required to enter credentials in Platform Manager.
In addition to listing available diagnostics, the following actions are available to customize lists and change the
settings of diagnostics.
In the table, click a column header to sort the list of diagnostics on each column.
You can also apply a filter on each column to limit the number of diagnostics listed. Right click any column header
to open a filter dialog where you can add a column filter. Type a plain value or regular expression to filter a list of
diagnosis to display in the table. You can also clear the column filter applied.
Configuration Builder Guide 15
UPF 4.1
For example:
ui.(debug|comp).* Lists all the diagnostics whose name starts with ui, followed by either debug or comp
From the Diagnostics List table, go to the Current Level column and select a level to change the current level of
diagnostics. The change takes place immediately, and diagnostics will output based on the new level set.
In the Diagnostics Tasks pane, click Disable All Sensitive Diags to disable all the sensitive diagnositcs emitting
sensitive information. This action affects all sensitive diagnostics including the ones not listed in the table.
In the Diagnostics Tasks pane, click Reset All Diags to Default Level to reset the Current Level of diagnostics to
default value. This action affects all diagnostics including the ones not listed in the table.
You can set Current Level of a group of diagnostics by filtering with the diag name filter and sensitive flag. From the
Diagnostics Tasks pane, select Filtered Set. In the dialog box, enter the diag name, specify whether to include
sensitive, normal, or all diags, and set the preferred level.
After you click Set, the current level for a group of diagnostics returned from the filter are updated to the new value.
You can use wildcard characters to create the Diag name filter. The question mark (?) matches a single character
and the asterisk (*) matches multiple characters. The diag name filter is different than the Table Column filter
described previously, where you can use normal regular expression.
Like Filter set, you can use the diag name filter and sensitive flag to reset the Current Level of a group of
diagnostics filtered. From the Diagnostics Tasks pane, select Filtered Reset. In the dialog box, enter the Diag
name filter, specify whether to include sensitive, normal, or all diags.
After you click Reset, the current level for a group of diagnostics returned from the filter will be reset to the default
value.
Some of the diagnostics generate sensitive data which is captured in sensitive output files. Configuration Builder
and Platform Manager have a sensitive diag indicator on the toolbar. The indicator alerts the users whenever any
diag is emitting sensitive information to output file.
In the Diagnostics task pane, click Secure Delete Sensitive Output Files to remove all sensitive output files
securely.
Changing the settings of the diagnostics is restricted to the users that have been granted permissions. In the
Configuration Builder, go to Role Configuration, to see a configuration setting where you can set appropriate level
of access to different roles. The options available are No Access, View-only Access, and Command Access.
Configuration Builder and Platform Manager check the role permission when displaying the diagnostics control
panel. If a user has No Access set to Diagnostics Access, the diagnostics control panel is not displayed to the user.
If the user has View-Only access then the diagnostics settings are shown, but the user cannot perform any actions.
The user with the Command-Access can view and perform actions. Whenever an action is performed, the
authorization check is done on the UPF system, and the action is logged in audit log.
Configuration Builder ensures that the user cannot elevate or bypass the access control check and access the
diagnostics or perform unauthorized actions.
For example, if the user has access to multiple UPF systems (for example, development and preproduction) but is
only allowed to access diagnostics in the development system, then Configuration Builder prevents the user from
accessing diagnostics while working with configuration data retrieved from preproduction.
Every time a user opens or closes a UPF configuration in Configuration Builder from a UPF switch, the diagnostic
settings are reset to their default level. However, Configuration Builder persists these settings to optimize this
process. If the user opens and closes configurations of the same source or the user connects to the same switch,
then the diagnostics are not reset.
• User opens a configuration imported from a development system. User turns on a sensitive diag (authenticating
and authorizing against the UPF development system). In this example, the user has been granted access for
that action in the UPF development system and therefore the action is successful.
• User closes the configuration and opens another configuration imported from a pre-production system. The
user does not have access to that diagnostics in the pre-production system.
In this scenario, Configuration Builder recognizes that the source of the configuration has changed, and it resets
the diagnostics to the default level. If the user wants to turn on the sensitive diag, then the user needs to
authenticate and authorize against the UPF preproduction system.
Note: In Configuration Builder, if the role permission of a user has changed but the user opens the configuration
(stored configuration) from the same source, then the diags settings are still restored. This is because the
Configuration Builder is an offline tool, and it does not have the current credential information. This is a known risk.
Note: After the startup is complete, you must choose certain launching parameters - a workspace and the
maximum value of Java heap size to be used for running this instance. A workspace is a folder name where the
application stores various data such as saved switch configurations, application settings, application logs, and so
on. A default workspace is selected along with a default value of Java heap size and Skip on startup is checked
by default. Click Ok to open the application with the selected workspace and the given maximum JVM heap size.
Configuration Builder displays the main application window, which is a standard graphical user interface. It contains
a menu bar across the top of the window, a toolbar for quick access to commonly used features, Config and
Repository Explorer tabs, and a Start page. The check box on the Start page toggles the display of the Start page.
You can click links in the Start page to open the Online Help. To populate the Repository Explorer, you must import
a configuration (see Import and export switch configurations) from a running UPF instance or use a previously
exported configuration file and the option to import from file.
Note: The UPF Environments collection is populated with the nickname that is given to the configuration during the
Import Switch Configuration process.
Switching workspaces closes the current instance and starts a new instance with the selected workspace. Save all
changes made to the current configuration before switching workspaces.
2. From the EUA Launcher: Configuration Builder dialog box, select another workspace.
To change the maximum JVM Heap size of Configuration Builder, access the EUA Launcher: Configuration Builder
dialog box as described in the Switch workspace section.
To run multiple instances of the EUA application, specify different workspaces. Only one instance of the application
can run with a given workspace at a time.
Initially, a workspace can be an empty directory. After selecting the directory as workspace, the application
generates the necessary files.
When the application starts, the EUA Launcher: Configuration Builder dialog box opens with the default workspace
selected. The Skip on startup checkbox is selected by default. If Skip on startup is selected, the next time the
application starts, it will use the previously selected workspace and skip the EUA Launcher: Configuration Builder
dialog box. If an instance of the application is already running with the workspace, a warning is shown:
"Configuration Builder appears to be running within the selected workspace already. Please try another one."
After you click OK, you are prompted to select a different workspace. When you select a different workspace, it will
start another instance of the application.
If the Skip on startup checkbox is not selected, each time the application starts, it shows the EUA Launcher:
Configuration Builder dialog box from which a different instance of the application can be started by selecting a
different workspace.
You can access the Skip on startup checkbox from File > Show Launcher Dialog which opens the EUA Launcher:
Configuration Builder dialog box.
The scripts run in real-time and display the results of UPF Script execution immediately.
Script Runner does not require a running instance of UPF. As such, some of the UPF script functions that require
interaction with a running platform might not operate as expected.
Script Runner contains a variable window, script editor window, script editor tasks pane, and a results window. For
more information about Script Runner and its various windows and tasks, see the Online Help.
You can start Script Runner from the toolbar icon, from the context menu on the Script Widget, or from the Script
Runner Task pane.
On the Script Widget, you can start Script Runner from the connect menu in editor forms on Script Widgets. Script
Runner will carry the same context available to the Script Widget, which helps in auto-completing the variables
known to the widget.
From the Script Runner Tasks pane, you can click New script runner to open multiple Script Runner editor
windows.
UPF variables are printed in UPF logs and HTML trace files at different stages of transaction processing. These
printed variables can be imported into Script Runner to use them as input for the scripts.
From Script Runner Tasks, select Add trace variable. In the dialog box, paste the copied variables. After you click
Ok, the variables are listed in Input Variables.
• Repository Explorer – Browse the configuration repository, download and upload configurations to and from the
repository for known environments.
• Configuration Explorer - Browse through the configuration for the selected switch.
• Search Tool - Search the entire configuration to locate parameters based on criteria.
The repository contains copies of configurations as well as references to known environments capable of executing
a UPF instance.
Note: The Org ID field may or may not be relevant for an environment. The environment properties are:
Parameter Description
The first part of the explorer shows the top-level components of the repository, which include:
• UPF environments representing physical environments known to Configuration Builder, which allow you to
download and upload configurations.
• UPF configurations representing a directory-like structure that Configuration Builder uses to store local copies
of configurations.
• UPF deployment history from Configuration Builder to known environments. For each deployment,
Configuration Builder keeps audit information describing the changes.
When you select a configuration in the repository, Configuration Builder displays its properties.
A description for each item in the repository is displayed in the description box at the bottom of the Repository
Explorer as each item is selected or as a tool-tip as you hover over the repository items with the mouse.
Parameter Description
General
UPF configuration
Source information
UPF instance host The host from which the configuration was loaded.
UPF instance port The port the UPF was listening on.
Imported by user The name of the user who imported the configuration.
Role of user The role of the user who imported the configuration.
Date/time of import The date and time the configuration was imported to
Configuration Builder (dd/mm/yyy hh:mm:ss).
After a configuration is loaded, you can browse through it with the Configuration Explorer.
The tree view in Configuration Explorer shows the configuration hierarchy. You can sort the folders alphabetically
and choose whether the keyed properties are displayed in natural or case-insensitive alphabetic order. You can
right-click any sortable container on the tree to toggle the preference; only keyed properties are sortable.
The round LED indicates whether the preference is enabled and can be toggled by clicking. Toggling this property
does not happen immediately; you are notified that the preference is saved and it will take effect the next time a
configuration is opened.
The exact structure of the configuration categories and nested entries depends on the UPF instance from which the
configuration derives and on the user's permissions. The Configuration Browser consists of three panels:
• List panel
• Details panel
• Command Button Panel
When the items to be configured represent multiple values, the Configuration Browser displays a tabulated list of
entries in the List panel. Select an entry in this list to display its details, along with a variety of action commands
relevant to that entry.
Configuration Builder normally displays data as read-only in the Configuration Browser. Double-click an entry in the
List panel or select Edit in the Command Button panel to open Configuration Builder's Configuration Editor for that
component.
For configurations that have been downloaded and stored in Cartridge Editing mode, an additional cartridge editing
view option is available in the Configuration Explorer. To change the view, click the View option and select from the
drop-down list. By default, configurations which contain cartridge information will display in cartridge editing mode
on opening.
Cartridge Editing mode is largely read-only. You can browse the configuration parameters stored within each
cartridge: however, all modifications are to be performed within the Configuration Editing mode.
Use the Search tool to search through the entire UPF configuration.
1. Click the Search icon on the toolbar to access the search panel. Alternatively, you can click the View menu and
then click Search.
2. Enter the item you want to search for.
Note: The Search panel offers multiple ways to filter results including the Search case-sensitive and Include
Advanced Settings checkboxes. There is also a drop-down list with the following options:
– Find results with the exact phrase (This is the default option.)
– Find results with all of the words
– Find results with at least one of the words
– Find results without the words
– Find results that are partially configured
3. Click the Search icon.
The search results will be shown for all matching entries of the currently loaded configuration. Each search result
shows the appropriate set of actions available (depending on the type of configuration item found).
• Enable strict validation – if enabled, strict validation will be checked by default when applying configuration
changes.
• Save form automatically – if enabled, removes the Accept button from forms and saves changes
automatically. When disabled, the Accept button is shown and the user must click the button to save their
changes.
• Enable pop-up menu on mouse over – when enabled, pop-up menus will display when the mouse hovers
over the menu button. When disabled, the menu button must be clicked to show the pop-up menu.
The Configuration Builder must connect to the UPF to retrieve the Change Log information. The Platform Manager
also provides a panel for viewing the Change Log.
You must select the UPF Environment to enable the View change log menu option in the Environment menu.
Change Log tasks vary with different types of change. For scheduled changes the options are:
Scheduled
The date and time the change is scheduled to be applied.
activation
Activation started
The date and time the change activation started.
on
Activation finished
The date and time the change activation completed.
on
For developers, the runtime environment might be a single development UPF instance running locally on their
personal desktop machine. A release manager for a mission critical production system might have a large array of
environments defined which represents the full lifecycle of a UPF configuration from system test, user acceptance
test, staging, and production.
Note: The Org ID field may or may not be relevant for an environment.
Environment names are defined during the import UPF configuration process by specifying a value in the
Nickname field.
Select one of the runtime environments to show its settings in the Properties window. When importing
configurations from the UPF or when applying configuration changes to the UPF, you must provide security
credentials for identification and authentication purposes. Descriptive text also accompanies the environment
definition.
The following are example runtime environments from a typical financial services organization.
Used for development purposes by business analysts configuring new UPF operating
parameters before test and production deployment. Also, used by developers during
the development and testing of new functionality.
• Little change management
DEVELOPMENT • Typically small scale hardware, for example, a single desktop PC with simulated
connections to external systems
• Potentially many development environments, for example, one per developer or
business analyst workstation
• Changes often, used for development and experimentation
Formal staging environment prior to production release, used to socialize changes, with
changes run for prescribed period of time before production release.
• Formalized change management, in line with production releases
STAGING • Typically of similar scale to production hardware, with dedicated test links to
external systems
• Changes only in relation to a production release cycle
In the Repository Explore tab, select an existing environment and press the Delete key on your keyboard.
Note: This only deletes the reference to the environment from the local Configuration Builder repository and does
not affect the physical environment itself.
Configuration Builder Guide 31
UPF 4.1
4.3 Build a configuration from clone
You can build a new entity based on the configuration of another entity.
Before you begin, you must load the configuration you want to clone. See Load a configuration for more
information.
Cloning a configuration can be useful when building multiple endpoints with similar component types, for example,
if you want to create a new acquiring endpoint that closely resembles an existing one.
1. Click Clone in the Tasks buttonto copy the configuration to the clipboard.
Note: Any part of the configuration tree can be cloned. Multiple configuration entries can be cloned to the
configuration clipboard for later use. To view the contents of the clipboard that stores cloned information, display
the Cloned Configurations window.
A confirmation message is shown, for example, "Cloned 'Endpoints/BATCH-IN'".
2. Click New from clone in the Tasks button. This option is only available when there is an existing, compatible
type of entry in the clipboard.
The available entries are shown in the configuration clipboard.
3. Select the configuration you wish to clone and click Build.
The new endpoint will be created with the same underlying configuration as the original.
In the new endpoint, you must complete the unique fields. These include Endpoint ID, Description, Switch Port
(Route ID) parameter for routes, and so on. When cloning a channel, the Switch Port (Route ID) value is omitted,
so you must add a new value to the field.
Use the Configuration Builder to export the entire UPF configuration to a binary file or to export configurations in a
Configuration Cartridge to an XML file. You can import the XML configuration to another UPF of the same version.
This option can be used to save a configuration from one environment (for example, a development environment)
and import it into another environment (for example, a test environment)
Warning: You can only import a configuration from the same UPF version; that is, a configuration exported from a
UPF version 3.2-xy can only be imported to another UPF running version 3.2-xy. Importing an incompatible version
may cause loss or corruption of configuration settings. ACI cannot guarantee the integrity or reliability of any
system configured with incompatible UPF versions. To see the version in Configuration Builder, click Repository
Explorer->UPF Environments, then right click on your Environment and select Platform Information.
You can use XML tools to make modifications to the exported XML configuration file before importing it back into
Configuration Builder. This is useful for doing bulk changes and made easier by the ability of most XML editors to
perform advanced search and find and replace operations.
1. Use one of the following methods to open the Import Configuration Wizard:
– From the Configuration menu, click Import Configuration.
This import creates a new configuration in Configuration Builder which is loaded when the import has successfully
completed.
Warning: You can only import a configuration from the same UPF version, that is, a configuration exported from a
UPF version 3.2-xy can only be imported to another UPF running version 3.2-xy. Importing an incompatible version
may cause loss or corruption of configuration settings. ACI strongly advises against this practice and cannot
guarantee the integrity or reliability of any system configured this way. To see the version in Configuration Builder,
click Repository Explorer > UPF Environments, then right click on your Environment and select Platform
Information.
When a configuration is exported to an XML file, only parts of the configuration are included in the file. For this
reason, an XML file can only be imported into an existing configuration, which updates the configuration with the
settings stored in the XML file.
Warning: You can only import a configuration from the same UPF version; that is, a configuration exported from
UPF version 3.2-xy can only be imported to another UPF running version 3.2-xy. Importing an incompatible version
may cause loss or corruption of configuration settings. ACI cannot guarantee the integrity or reliability of any
system configured with incompatible UPF versions. To see the version in Configuration Builder, click Repository
Explorer->UPF Environments, then right click on your Environment and select Platform Information.
1. With a configuration already loaded, from the menu select Configuration > Import from XML.
2. Go to XML file to import, select it, and click Import from XML.
A warning message states that your existing configuration will be overwritten.
3. Click Yes to overwrite your configuration or No to stop the import from overwriting your configuration.
The status bar confirms a successful import.
You can export a UPF configuration to a binary file, which can be imported to another UPF.
Warning: You can only import a configuration from the same UPF version; that is, a configuration exported from
UPF version 3.2-xy can only be imported to another UPF running version 3.2-xy. Importing an incompatible version
may cause loss or corruption of configuration settings. ACI strongly advises against this practice and cannot
guarantee the integrity or reliability of any system configured this way.
You can export a cartridge to jar file or a zip file which contains the cartridge and all its dependencies.
A configuration must be loaded in cartridge editing mode to enable the Export to cartridge function.
As a cartridge contains compatibility information, it will only import successfully into a configuration with which it is
compatible.
The Clone function creates a copy of the cloned configuration that is stored on the application clipboard. This
configuration is then available for selection from the clipboard for subsequent Build from clone operations, if the
component type is the same.
As the configuration is merely a tree, it is possible to treat any branch of the tree as a copy (clone) target. The tree
can be easily cloned and stored within Configuration Builder (in the clipboard) for later use.
Configuration Builder determines whether a copied configuration tree is suitable for pasting at a given point.
Defined configurations can also be copied from one UPF configuration to another. This uses a global clipboard that
allows configuration trees to be stored, regardless of whether the UPF configuration from which the configuration
entity was copied is open or not. This means that within the clipboard, each tree should be associated with its
source UPF configuration and the user readable path within the UPF configuration.
Once the application is closed, the contents of the clipboard are cleared. Therefore, when Configuration Builder is
opened, the clipboard will be clean and uncluttered.
Configuration Builder will start the Compare and View Configuration changes Wizard. The wizard first compares
two configurations and lists all the changes related to Entity Models if there are any. You can select all changes,
or a subset of changes, to import into the current configuration.
Note: You must discuss specific Advanced Configuration options with ACI before changing any advanced
configuration settings. Do not use the Advanced Configuration option unless instructed to do so by ACI.
After making changes to a configuration, the changes only exist in the local copy. You must apply the changes to a
known environment to deploy the changes to a live UPF instance.
1. Load the configuration that you want to change and make the desired changes.
2. In the menu bar, select Configuration > Apply Config Changes. Alternatively, you can press
Ctrl+Shift+A.
The Apply Configuration Change Wizard opens.
3. In the Review changes step of the wizard, select the check boxes to the left of the changes as needed. To find
out more information about the change, click the change to highlight it, then click View Details. Click Next to
continue.
4. Select the Validate without apply checkbox to indicate that the selected changes need to be validated only. This
is useful when user wants to perform validation on changes without applying them in situation when the switch
is down or inaccessible.
5. Select the Strict validation checkbox to show all validation errors from both the original and updated
configuration. If the checkbox is not selected, validation will only be performed on the updated configuration
and will not show errors from the original configuration.
6. In the Select target step, enter the required username and password and other fields as needed. The Detailed
description will be visible in the Change Log. The Org ID field may or may not be relevant for an environment.
Contact your local system administrator to determine if the Org ID must be entered.
Optional: Click Test connection next to the password field to test the connection to the live UPF instance.
Configuration Builder Guide 39
UPF 4.1
Note: Select target step is skipped if the Validate without apply checkbox is selected in earlier step.
7. The Validate selection step confirms that the changes are compatible. Incompatible changes are highlighted. If
necessary, deselect a change to omit it.
Note: Changes that are invalid can be amended and then applied again.
8. Click Next to continue to the Changes complete screen.
The changes are validated and applied. If there are any validation errors, a notification screen will describe the
errors so you can correct and reapply the changes. An error message will be displayed if a problem occurs such as
a connection error or invalid change error.
Note: Configuration Builder performs a configuration value reference check to ensure that reference configuration
parameters (through ConfigValueDefinition) may not be deleted without deleting the references, too. This check
occurs when you click Apply configuration changes but will also occur if you select a subset of changes on the
Apply Config Changes page. The Apply changes button on the Apply Config Changes page will change to Review
errors if errors are detected. After you click this button, a page opens with a list of paths containing a reference to a
deleted configuration item. The change is never applied to the UPF if this page is shown.
Some changes made to the UPF are applied immediately while others require a restart.
Changes made through Configuration Builder are effective immediately when the change is applied to the UPF,
although the change may take up to 60 seconds to be reflected in Platform Manager.
In rare circumstances, typically as the result of a configuration merge, UPF may determine that the changes being
applied cannot be safely applied in real-time. In these instances, the change will be accepted but not activated. An
alarm is raised and the platform needs to be restarted for the changes to take effect.
Changes made in Platform Manager to user and user groups are also affected immediately, which may result in
termination of active user sessions if they are the target of modifications. This is to ensure that modifications to
user permissions are not dependent on that user logging off and back on again.
Configuration Builder keeps a local deployment history of all configuration changes applied. This is in addition to
the Change Log which is maintained by the UPF, and it is a consolidated log of all changes made by any user.
The following change-related commands can be executed in Platform Manager in the Change Log panel:
• Change Activation Time - modifies the activation date and time for a scheduled change
• Revert - reverts a change
• Remove - removes a change from the Change Log
Using cartridge projects allow users to configure different tools to support various project functionalities like project
compilation, dependency management, artefact generation, validation, packaging, deploying etc. ACI provides
plugins and project archetypes for Maven which streamline the build process and add validation for the generated
cartridges (available from version 4.1).
• lists of artifacts and plugins necessary to create and build projects and their locations
Note: After the project is created with the steps mentioned in the Development Methodology Guide, the project
must be built with Maven before loading the project into the Configuration Builder.
To import a cartridge project, go to the File menu and select Load Project. Locate the directory of the project to be
imported and select the directory of the project or the project.xml file, itself. After the project is imported, the most
recently opened projects will be stored under UPF Projects in the Repository Explorer with the latest imported
project shown first.
To load a project, right click a project that has been previously imported from the Repository Explorer under UPF
Projects, then select Load Configuration or click the load configuration button in the toolbar (open book icon).
Importing cartridges into a project works like importing cartridges into a configuration. Change to Cartridge Editing
mode. Then, right-click User Cartridges and select Import User Cartridge. The panel displays a drop-down
menu with the available cartridges that are referenced in the project’s POM file but not the project.xml file. To
import a cartridge that isn’t in the drop-down list, you must add the dependency to the project’s POM file and
rebuild the project.
Alternatively, click Browse and locate the cartridge file to import. If you import cartridges this way, the location of
the cartridge file will be stored in the project file as a path relative to your machine, which means the project is no
longer portable between different systems.
To create a new cartridge, right-click User Cartridges and select Create New. Enter the ID, version, compatibility,
and description fields and click the Browse button below Project Details to specify where you would like the new
cartridge to be stored. The cartridge reference will be added to the project file with its location path relative to your
system.
To upgrade a cartridge in a project, right-click the cartridge to upgrade and select Upgrade Cartridge. A newer
version of the cartridge must be referenced in the project’s POM file before upgrading. If the Upgrade User
Cartridge Wizard doesn’t allow you to continue with the upgrade, update the dependency of the cartridge to a
newer version in the POM file and rebuild the project.
Click Save to save the changes made to cartridge projects. This saves the cartridge configuration back to the
filesystem.
On a fresh install of UPF, the configuration cartridge is empty and the plug-in tree contains only those plug-ins that
were preconfigured in the dependent cartridges. As changes are made to the system, those changed plug-ins are
copied to the configuration cartridge.
Configuration Builder is used to perform configuration changes to the system. Many components expose properties
that can be viewed and edited in real-time using Configuration Builder.
User cartridges allow an implementation team to package configuration parameters or plug-ins as a single cartridge
artifact. These cartridges can be inserted as dependencies into the configuration cartridge allowing for better
portability of configuration between systems.
Working with user cartridges is a relatively minor part of the configuration of a new project. Typically, the team
responsible for configuring a solution uses Configuration Builder in the standard configuration editing mode and
pushes their changes to a master system. The role of maintaining the User Cartridge artifacts generally fall to a
configuration manager or managers who maintain the configurations on the master system.
At regular intervals throughout the implementation phase of a project, the configuration manager may decide to
migrate the tested configuration from the master UPF instance or instances into User Cartridges. The frequency at
which new or updated user cartridges are generated depends on the scope, modularity, and complexity of the
project.
• Entity models, for example, template components, RDBMS entities, component entities
• Plug-ins (instances) based on the component entities configured in entity models
• File IDs, Audit and alarm definitions (instances) used by endpoints and sessions
Component instances, such as endpoints and sessions, are not necessarily packaged inside user cartridges.
Endpoints and sessions typically contain environment specific configuration such as the hostnames of external
systems in the case of a channel on an endpoint. It is recommended that these instances be created by the user
The best approach for packaging configuration into cartridges depends on several factors, such as the granularity
of the upgrading of cartridges, the number of reusable components, number of collaborating team members, and
so on.
Depending on those factors, a single user cartridge containing all new customizations may be all that is necessary,
or many smaller cartridges may be required.
5.2 Versioning
The author of the user freely determines the version. However, some suggested practices for versioning of user
cartridges are:
• The database capacity decreases as each revision of a user cartridge will take up some space.
• The UPF managed revision of a user cartridge increments each time. UPF does not presume to know whether
a revision being deployed is older or newer than an already active revision. Management of the deployment of
user cartridges is left to the processes followed by the configuration manager on a given project.
UPF supports several different, well known tags or identifiers for cartridges. They include designations, which
resolve in the following order:
• alpha or a
• beta or b
• milestone or m
• rc (short for release candidate)
• snapshot
• ga or final (or nothing, indicating a final release)
• sp (short for service pack)
More '0' characters within a version identifier are considered equivalent. A few examples of versions and whether
they are considered equivalent are:
5.3 Compatibility
In addition to assigning the version of a User Cartridge, you must assign a compatibility version to the cartridge.
The purpose of this field is to define the range of cartridges with which the specified release is compatible. The
compatibility version indicates the oldest version of the same cartridge which the current version supports, that is
its backwards compatibility.
Configuration Builder often does not have all the information available to automatically determine the backwards
compatibility of a specified cartridge, so setting the version is left to the configuration manager.
When loading a configuration, UPF allows a newer cartridge to substitute an existing cartridge provided the version
requested falls within the compatibility range of the cartridge that has already been loaded. UPF never loads two
versions of the same cartridge simultaneously, so be aware of potential backwards incompatible changes when
releasing updated versions of cartridges.
5.4 Dependencies
Each cartridge that is loaded by UPF may have a dependency on other cartridges which must also be loaded for
the full configuration to be loaded successfully. The Configuration Cartridge includes all the dependencies of a
specified configuration and the version of each cartridge which should be loaded.
A User Cartridge will also contain dependencies. There are several ways that a cartridge may be dependent on
another, including:
• Direct
• Indirect
• Dynamic
A direct dependency is introduced to a cartridge when one cartridge uses a configuration defined in another.
Adding an entity model to a User Cartridge introduces a direct dependency between the User Cartridge and the
System cartridges which define the entity model components.
An indirect dependency between cartridges may arise if one cartridge contains a configuration reference to another
type of configuration. Consider a User Cartridge which defines an entity for storing institution information. If you
configured one of the fields within the entity "Country" to provide a drop-down list of the countries defined in a
separate User Cartridge, then you have introduced an indirect reference between the cartridges.
A dynamic dependency is a dependency between cartridges where one cartridge uses one of the types defined by
another cartridge. An example of a dynamic dependency is the use of an RDBMS Entity operation within a UPF
Script.
Configuration Builder can determine both direct and indirect cartridge dependencies and updates the dependencies
of cartridges as necessary. Configuration Builder will also search for, and add cartridge dependencies, for dynamic
dependencies such as those defined by complex validation types and references in UP Scripts where possible. Be
careful when working with cartridges to design their solutions in such a way as to avoid circular dependencies.
Configuration Builder detects and prevents user action that will introduce a circular dependency between two
distinct cartridges as UPF will be unable to load and activate the configuration successfully. A more detailed
description on circular dependencies can be found in section 5.6.8 below.
The resulting component generated by Entity Builder exposes only a subset of the properties configured within the
entity. As a result, template components are a great way to encapsulate the internals of a component while still
retaining visibility into the internal structure. For example, you can create a template component for an endpoint
that only exposes the essential parameters including; the endpoint ID, security configuration, custom parameters
and channel configuration. These are typically environmental parameters that would be configured per instance of
an endpoint, whereas the configuration encapsulated within the component template entity would be shared.
This is a good compromise as the initial configuration of an endpoint instance is greatly reduced, yet the internal
structure is available for analysis that is to be performed during tracing and debugging of an endpoint.
As multiple instances of a template component share a common structure, a benefit of components defined in this
way is that a change made to the template component entity will be reflected in each of the instances of that
component in real-time when changes are applied.
As previously mentioned, endpoints and sessions are the types of configuration that are best suited for converting
into a template component entity. This is especially true if you consider that this enables you to package a
configuration, such as an endpoint configuration in a user cartridge for distribution between different environments.
Typically, you would create the template entities toward the end of a project when the component to be converted
into a template component entity is complete and fully tested.
2. In the configuration, go to the Entity Model within which the new template component entity should be logically
grouped. It may make sense to create a new entity model. The scope and complexity of the project determines
whether the new entity is best housed alongside other entities such as RDBMS and Component plug-in entities
or within its own model alongside other template entity artifacts. Consider creating a new entity model to house
simulation endpoints, for example, since this would allow project deliverable artifacts to be package into a
different user cartridge to the simulation and testing artifacts.
3. In the Build new Entities task pane, select Build from Cloned Configuration.
You will use the wizard to convert the previously cloned configuration entry into a template component entity.
4. Select the cloned configuration entry.
As already discussed, the remainder of the parameters have been encapsulated in the Template Component
configuration entry in the My Test Endpoint Template Component entity.
The Endpoint Id field is a parameter reference to the parameter created earlier. The Description field is a normal
free form text field.
Use the standard Configuration Explorer in the Configuration Builder to edit configurations in the same way that
you would do it when the user is not working with a cartridge. The result is that all the configuration entries which
First, to make changes to the cartridges stored in a UPF configuration you must import the cartridge hierarchy from
a running platform. Once the configuration is loaded into Configuration Builder, we need to switch to Cartridge
Editing Mode.
In Cartridge Editing mode, right-click User Cartridge and select Import User Cartridge, to import a cartridge into
an opened configuration,
You can select either a user cartridge archive or the folder containing cartridge.xml file (if the cartridge was
extracted or exported to Directory), and it will import the cartridges as appropriate.
The Import wizard does not perform a cartridge upgrade and, as such, cannot be used if the cartridge being
imported already exists in the configuration.
In the Configuration Explorer, select the desired editing mode to switch between the configuration editing and
cartridge editing mode.
Configuration Editing Mode presents configuration in the standard configuration editor tree. This mode allows
configuration modification.
Cartridge Editing Mode presents configuration as cartridge hierarchy. This mode allows performing actions related
to cartridges.
The Cartridge Editing Mode presents the cartridge hierarchy within the current configuration. There is a tree
containing three major categories:
• Configuration Cartridge
• User Cartridges
• System Cartridges
The User Cartridges category contains all the remaining user configurable cartridges within the active
configuration.
System Cartridges are shown for illustration purposes only. You cannot perform any actions on a System
Cartridge; however, you can browse the configuration stored in them.
Within each of the categories is a list of cartridges of that type. The order of the cartridges is such that a cartridge
may only depend on cartridges listed above it.
Within each of the cartridge nodes is a list of each of the configuration items available within that cartridge.
When selecting a category or a cartridge, Configuration Builder loads a document showing a summary of the
cartridge metadata and its dependencies.
1. Right-click the User Cartridges node and select Create New to create a User Cartridge.
After the form is complete and validated, Configuration Builder creates the new cartridge and inserts a reference
to it into the currently loaded configuration cartridge.
The newly created cartridge has been inserted into the User Cartridges section of the Cartridge Explorer tree.
Configuration Builder supports two different ways of exporting User Cartridges, Archive (Jar, Zip) and Directory.
The archive file format produces either a jar or zip file depending on whether the Include Dependent Cartridges
checkbox is selected or not. You can specify the filename and directory to where the cartridges are exported.
The jar file format is the native format for a user cartridge. Contained within are several xml documents with the
cartridge metadata and its configuration.
The zip format is a Configuration Builder export/import format which allows multiple cartridges to be exported into a
single artifact. Within the zip archive is the exported user cartridge and each of its user cartridge dependencies.
The benefit of the Zip archive is that a cartridge can be distributed and imported using a single file. This is useful
when sending a cartridge to a team member using a different UPF installation.
To export a cartridge in either format, right-click the desired User Cartridge in the Cartridge Explorer tree and select
Export Cartridge.
Note that you can use the operational scripts installed alongside UPF to export a cartridge from UPF. You can
download a specified cartridge configuration, user, or system cartridge from a running UPF. See the Cartridge
Management section of the UPF Operations Guide for more information.
Often, you will want to store work in progress user cartridges in a version control system such as Subversion or Git.
Version control systems typically work better with text-based files rather than the binary jars. Hence, it is
recommended that you export the cartridge in Directory Format or if you export it to jar, then you must extract the
cartridge and store the XML content in the version control system.
• cartridge.xml
• multiple <plugin-name>.xml files
• multiple <plugin-name> directories
• multiple <plugin-name>/<plugin-id>.xml files
The cartridge.xml file contains the metadata associated with the cartridge including the name, version, compatibility
description, and each of the dependencies. The other XML files are names based on the type of configuration they
include and are referenced within the cartridge.xml.
To reconstruct a user cartridge from its constituent parts, re-jar all the files into a single jar.
Since all configuration editing is performed in the Configuration Editing tree view, all the plugin entry changes made
within Configuration Builder are stored within the Configuration Cartridge.
Within each of the cartridge nodes in the Cartridge Explorer tree is a list of the plugin entries within the cartridge.
Typically, plugin entries under user cartridges or configuration cartridge can be migrated or moved to a different
cartridge.
To move plugin entries to a user/configuration cartridge, right-click on the cartridge and select Move Plugin
Entries to Cartridge. This example moves plugin entries from other user cartridges and configuration cartridge to
a new User Cartridge, "My New Cartridge".
In the tree view, you can select plugins from other cartridges to be moved to the target cartridge.
After selecting plugin entries to be moved, the Configuration Builder attempts to modify the source cartridges and
the target cartridge. The process of rebuilding and validating the impacted cartridges may take some time as each
cartridge is validated, its dependencies are updated to add new cartridge dependencies and to remove any that are
no longer required. Sometimes, moving the plugin entries may not be allowed as it would result in a circular
dependency between the cartridges within the configuration. If a circular dependency occurs, Configuration Builder
will alert you. Click the link to view details about the circular dependency. When you close the Move Plugin entries
dialog, the cartridges return to their initial state.
Once completed, the moved plugin entries are removed from the original, or source cartridges, and are available to
view within the target, or destination cartridge.
Moving plugin entries into cartridges can result in two cartridges being dependent on each other directly or
indirectly, creating a Circular Dependency between cartridges. Configuration Builder will alert you that it cannot
rebuild the cartridges due to a circular dependency. Click the link for details.
The Circular Dependency detail dialog provides the dependency details for each of the cartridges. It shows whether
the cartridges have direct dependency or indirect. In case of indirect dependency, a Dependency Path section lists
all intermediate paths of dependency from one cartridge to another.
The Details section explains why a cartridge is dependent on another cartridge. For indirectly dependent
cartridges, each of the dependency paths are explained. Currently, cartridge dependencies are determined based
on the Configuration Entries references and the Component Definitions references generated from Component
Entities.
The dependency detail lists all the Configuration Entries and Component Entities in the dependent cartridge
followed by all the configuration entries in current cartridge which refers to them.
Currently the Details section lists only three of each entry, which can be changed with
"eua.cartridge.circular.dependency.entries" option. However, all details are printed in diag files. The diag "
eua.cartridge.circular.dependency" is used to print the output. The diag is on by default.
Press the Open as Document button to open the detail information in a document. This allows you to review the
details with the configuration.
The process to deploy user cartridges to UPF is slightly different from applying normal configuration changes.
1. Right-click the Configuration Cartridge category node in the Cartridge Explorer and select Deploy Cartridges to
open the Cartridge Deploy Wizard.
Specified User Cartridges allow configuration to be packaged and easily exported from one system to another. It
then becomes far simpler to repurpose a system for use within another project. All that is required is the following
steps:
Once the Configuration Cartridge is empty, you can remove the User Cartridges one by one.
1. Select the User Cartridges node in the Cartridge Explorer tree to display the user cartridge summary
document.
2. Cartridges are displayed in dependency order, so remove them from the bottom up, Click the Delete button
next to each currently active user cartridge.
Removing the cartridges takes some time as the configuration cartridge needs to be regenerated and validated
to ensure that there are no lingering references to the user cartridge within the configuration.
After all cartridges have been removed, use the Upload pending cartridges wizard to deploy changes to the switch.
See the Deploying Cartridges section for more information.
1. In the Repository Explorer, go to the environment that you want to clean and right-click the environment to
begin spring cleaning.
In the Configuration Builder, you can use a wizard to upgrade a cartridge that is already deployed to a newer
version. The wizard performs an in-depth analysis of the configuration and provides you with a series of guided
steps allowing for the migration of configuration based on the initial cartridge version to be updated. The process of
upgrading a cartridge is complex and even more so than with regular cartridge editing, an expert level user is
required.
1. Go to the user cartridge to upgrade, and right click to access the upgrade cartridge wizard.
2. Select the location of the new user cartridge archive. This is typically a JAR file created on a different instance
of UPF and packaged for distribution.
This step shows you entities that have changed (updated, added, or deleted) between the current version of the
user cartridge and the new version of the user cartridge. For those that have changed, the wizard also checks if
the entity is in the current configuration and has been changed, such as if there is a need to upgrade entity in the
current configuration (this is optional and needs to be confirmed). Note that if there is no potential conflict with an
updated entity in the current configuration, then the change is shown as "Info only" because you cannot opt out.
The upgrade is mandatory.
Configuration Builder Guide 68
UPF 4.1
The wizard categorizes the entities in four categories:
– Template Component entities
– Component entities (plug-ins and standard ones)
– RDBMS entities
– Other entities such as PIM
You can take the following actions:
– View compatibility information: shows information about the compatibility between the entity in the current
user cartridge, the new user cartridge, and (if applicable) in the current configuration. This is useful to be
alerted to potential manual merge actions required after the upgrade wizard has completed.
– View changes: shows the changes between the entity in the current user cartridge and the new user
cartridge
– View merge actions: shows the merge actions that will be performed on the entity in the current
configuration if the upgrade is confirmed
4. Before displaying the second review step of the wizard, the merge actions selected within the first review step
are applied to the entities and entity models. Review the changes to configuration entities:
The wizard examines what plugins have changed between the current user cartridge and the new one. The
changes (added plugins, updated plugins, and deleted plugins) are shown in the table. The wizard also checks
whether the plugin exists in the current configuration and if so, whether it has been changed. If it has changed, it
offers the option to upgrade the configuration entry again. This is an optional action for each plugin because you
might want to retain the redefined plugin in the current configuration rather than upgrading. Note that if there is
no potential conflict with an updated configuration entry in the current configuration then the change is shown as
"Info only" because you cannot opt out; the upgrade is mandatory.
If you have a large set of configuration entries that are impacted with this step, you can use the actions Include
All or Exclude All. Where a merge action is offered, you can click the View Merge Actions button to see them in
detail.
Before applying all merge actions, the result of all review steps which can include changes to entity models, their
entities, configuration entries, and changes to resources will be shown where you can review the merge actions
one more time in a single list.
That is the last step of the wizard but not the last step for the upgrade. After closing the wizard, you might have
to edit some of the configuration entries that were merged or adjusted (such as to add any new properties that
may have been introduced).
Then, you can deploy the upgraded cartridge to UPF using the Upload pending cartridges wizard. See the
Deploying Cartridges section for more information.
1. Right-click the User Cartridge node and select Update Cartridge Info.
A wizard opens so you can modify the metadata that describes the cartridge.
To ascertain whether a cartridge can be deployed in a compatible manner, the cartridge contains a metadata
describing how far back it is compatible. That is, in addition to its current version number the cartridge contains a
backward compatibility version number indicating an older cartridge with which it is backward compatible.
The use of this compatibility information becomes apparent when a cartridge also contains metadata listing all
cartridges that are referenced by itself. That is a list of cartridge names and versions that were referenced when
Configuration Builder Guide 72
UPF 4.1
creating the cartridge. In this way, cartridges can form a hierarchy to allow one cartridge to extend and build upon
models and components from other cartridges. One example is the IP framework, where a hierarchy of cartridges
are integrated to deliver the faster payments functionality including UPF cartridges and features. Given the
reference metadata, UPF MCAS can make sure that all required cartridges are present before applying a given
configuration.
This is where the compatibility information becomes important. UPF MCAS does not require the latest or a specific
version of each cartridge to be present. It simply requires a compatible cartridge. If, for example, a cartridge A v3.2
is built using another referenced cartridge B v2.1, UPF MCAS will be able to start with a newer cartridge B v2.7
provided B v2.7 is backward compatible with B v2.1. Since all cartridges are likely to have references to other
cartridges, and these cartridges may evolve separately, the backward compatibility mechanism helps to keep track
of the whole solution and guarantees that no features are missing.
All upgrades involve changing one or more cartridges in an existing solution. Certain upgrades can be performed
quite easily in real-time whereas others require more forethought and more complex deployment.
Even though the fundamental mechanism is the same, cartridge upgrades are performed in two basic ways:
Upgrades to product cartridges received from ACI for specific UPF based products such as Immediate Payments
or FPS.
1. Changes made to a cartridge or configuration through the Configuration Builder and applied directly to a
running solution.
2. Changes made by Configuration Builder are applied directly from the Configuration Builder or through a
command line equivalent. Whereas the mechanism for deployment and activation differ, the underlying
consideration for applying a configuration is the same.
Applying an upgrade involves upgrading one or more cartridges in an existing and running solution. Changes fall
into three main categories:
Disruptive changes from category 2 typically involve certain types of database changes that can take some time,
and during which transactions may be wholly or partially paused. Such changes include changes to key/index
structure, for example where an index rebuild can take a while to execute.
The final category involves changes that cannot be applied in real-time and require processes to be restarted,
which are rare. Generally, this involves changes that impact the whole platform.
The different categories of changes give an indication of how much the change affects the solution. For releases,
the release notes will list all major changes and will categorize these changes. Changes applied from Configuration
Builder will be categorized in the list of changes shown in the Configuration Builder screen before deployment.
The three categories (light, disruptive, and restart-required) are only indicative. The actual impact depends on the
capacity of the underlying platform (servers, databases etc.), and amount of changes as well as the transaction
There are three different upgrade modes that impact the running solution differently. They are:
1. NON_DISRUPTIVE_UPDATE
2. DELAYED_DISRUPTIVE_UPDATE
3. DISRUPTIVE_UPDATE
Light changes are simply applied to the running solution without further considerations, although applying a
configuration will consume more CPU and database IO. During the upgrade process, throughput and latencies may
be temporarily affected. This upgrade mode is known as NON_DISRUPTIVE_UPDATE. Unless specified
otherwise, this is the recommended mode to use for configuration and cartridge updates.
Potentially disruptive changes make use of a mechanism whereby each database is temporarily taken offline
during the upgrade process, and then re-activated resulting in a data resynchronization phase. Once the database
is up-to-date, the next database instance is taken offline and so forth. This upgrade mode is known as
DELAYED_DISRUPTIVE_UPDATE.
An override mode known as DISRUPTIVE_UPDATE allows disruptive changes to be applied directly without going
through the DELAYED_DISRUPTIVE_UPDATE process. This is useful for test/development environments where
impact to the payment processing is not important (e.g. the number of rows is very small but we want to rebuild an
index) or can be used in production during a planned outage (i.e. at 0 TPS).
There are multiple ways to rollback a user cartridge activation. The primary mechanisms include:
You can also use the mcascmd utility to activate a given configuration version. When determining which User
Cartridges are referenced by a configuration cartridge, you can review the Change (after) field in the change log.
The command to execute is:
It is important to note that not all changes which are made in a user cartridge can be rolled back without manual
intervention. Some changes which are backwards compatible to activate, such as widening an RDBMS Entity
property, are not considered backwards compatible when activating a previous version.