Workflows

A workflow is an executable instance of a workflow template. For more information about workflows see the workflow section in the Reference.

Check connection workflow

Description

XDM’s built‑in Check Configuration validates connection objects and their dependencies on the Core/configuration level, including reachability and permissions using the configured credentials. The custom Workflow uses the same connection object’s implicit jdbcConnection property in a Workflow execution context to open a JDBC connection and query metadata at runtime. This complements the standard Configuration Check by verifying that the connection is actually usable from the Dataflow/execution environment, not only correctly configured in the Core.

A connection is selected via a custom parameter. From this connection, the JDBC URL, user, and password are read. The workflow then uses workflow.connectionToCheck.jdbcConnection to establish a JDBC connection to the target system and queries metadata (table list). On success, the retrieved tables are written to the log. If an error occurs (e.g. wrong port, invalid credentials, or unreachable database), the exception is caught and logged with WARNING level, including the exception type, message, and a shortened stack trace, while the workflow continues so that the error can be analyzed later from the logs.

Copy with icebox and delete target

Description

This example workflow calls a to icebox task to save an environment. Then it starts a from icebox task to select the icebox generation to restore. The selection criteria from this generation is given to a delete task to clear the target environment. In the next step a from icebox task is used to clear remaining data in the target environment before the load from the first from icebox task restores the data to the target environment. :noindex:

Delete object container cache directory

Description

This executable workflow executes a task stage hook which deletes the entire object container cache stored in the database. The cache is stored in the table batch_object_cache within the schema defined by ${taskStageHook.xdmSchema}.

Using this workflow may lead to inconsistencies if tasks using the object container retention period are currently running and possibly writing to the object container table while another task deletes entries from this table using this hook. Please be aware of such scenarios, especially when scheduling this workflow. :noindex:

Find invalid null values in Condition Scripts and Lookup Scripts

Description

This workflow locates any usage of the now deprecated form of null values ("<null-value>") in Lookup Scripts and Base Table Conditional Scripts. CAUTION: This workflow needs to be executed with a user that has the permission to read all Lookup Scripts and Base Table Conditional Scripts in the system. Otherwise, the workflow will not find all invalid null values. :noindex:

IceBox to cloud migrator

Description

This workflow migrates existing IceBox generations to an AWS S3 cloud storage.

The workflow requires that the following configuration in the XDM properties have been configured:

  • admin.db.url

  • admin.db.user

  • admin.db.password

  • admin.db.schema

  • xdm.blob.store.s3.bucket

  • xdm.blob.store.s3.credentials.accessKey

  • xdm.blob.store.s3.credentials.secretKey

  • xdm.blob.store.s3.region.static

  • xdm.blob.store.s3.endpoint :noindex:

Mapping table container and H2 database migrators

Description

The workflow Migrate Mapping Table Container migrates existing Mapping Table Container to use an actual version of the H2 database.

The workflow just iterates over the Mapping Table Container list and calls for each container the migration hook. The hook will download the database from the Mapping Table Container, migrate the database and will upload it again. Please make sure that the executing user has the appropriate permissions to read and write the mapping table container.

Furthermore, there are two more workflows Migrate H2 files in /xdm/mapping and Migrate H2 databases in /xdm/data. These will migrate H2 databases found in the directories /xdm/mapping and /xdm/data. When the databases were created with a user-defined user and password, the user and password must be changed in the workflow.