dbxapp Knowledge Creating a workflow

Creating a workflow

With dbxWorkflow_admin, administrators define traceable processes. dbxWorkflow then executes these definitions step by step. This tutorial shows how a testable workflow definition emerges from a technical goal.

Authoritative source: The active definitions are executed from dbxWorkflow_admin. An unknown or deactivated workflow key does not start a replacement or demo process.

From Idea to Definition

1

Clarifying the objective

What should be achieved in the end technically?

2

Modeling steps

Order inputs, actions, tests and decisions.

3

Domain modules binding

Connect selection, prefill and finish logic.

4

Validation

Save, restart and test each branch.

1. Write down technical objective

Do not start with fields, but with a clear result. A workflow is well tailored when users understand what is achieved after completion and what evidence to support it needs to be.

“An existing shop article is published with verified channel data and has an external offer ID.”

From this, selection, readiness testing, data maintenance, explicit export and status control can be derived.

2. Creating a new definition

Open Workflow definitions and choose New workflow. Fill in the header data completely first.

FieldMeaningExample
Workflow KeyStable technical key, do not change it after publication without a migration planshop_ebay_publish
NameUnderstandable title for usersPublish products on eBay
ObjectiveTechnically achieved final resulteBay offer is published
DescriptionLimitations and benefits of the processChecks data, confirms export and controls feedback
ActiveOnly active definitions can be restartedActivate only after successful test
Key rule: The Workflow Key is a stable interface. Use lower case, numerals and underscores. The meaning should be technical, not “workflow 1”.

3. Select building blocks

The visual designer offers four building block types:

Building blockSuitable forExample
EntryCapture a value or select a recordSelecting Articles
ActionExplicit domain action or external processExporting
TestControl completeness or statusExamine channel readiness
DecisionCreate a result that determines the further branchRelease granted?

Click on a building block or drag it into the process. Change the order on the handle. After each change, connecting lines and step positions are recalculated.

4. Describe each step clearly

Open the details of the building block and maintain at least label, internal key, result and editing path.

  • Title: Describes the current task as action.
  • Internal key: within the workflow, e.g. B. approval_result.
  • Result / Status afterwards: understandable intermediate status.
  • Processing: Form, selection, new installation or module form.
  • Values: one or more values.
  • Duty: necessary or optional.
  • Note: specific work instructions without technical internals.

5. Defining choices and decisions

Options are recorded line by line. With wert=Beschriftung Separate stored value and visible text:

approved=Freigegeben
changes=Änderung notwendig
rejected=Abgelehnt

A decision requires at least two results. For later dependencies, use the stored value, not the visible label.

6. Build branches

A dependent step always refers to a previous step and optionally to its result.

Freigabe prüfen
├─ approved → Execution of order
└─ changes Then ask questions.
  1. Place decision before branch steps.
  2. At “Prerequisite / branch” select the key of the decision.
  3. If ‘Only for Result’, enter the expected stored value.
  4. Check at least one traceable path for each permitted decision value.

7. Explicit use of automatic tests

For tests: Automatically check, otherwise manually are selected. Only reliable observations for which the domain module can reliably deliver a value are automated.

  • Appropriate: Mandatory data complete, mapping available, stored status, internal rule.
  • Do not invisibly automate: Payment, shipping, publication, mailing or other actions that are difficult to reverse.
  • If no safe value is determined, the step must remain manually editable.

8. Determining the processing path

WayUse
FormCapture a short value or confirmation directly in the workflow.
SelectionSelect static options or records loaded via binding.
New plantOffer simple new investment within the step.
Module formOpen an existing module form and subsequently confirm storage.

9. Complement module binding

A binding connects the general workflow engine to a domain DD. Open Module bindings and choose New binding. The generator can read DD fields and existing summary templates of a module.

  1. Select the module, e.g. B. dbxContact or dbxShop.
  2. Select suitable Data Dictionary (DD) and generate binding.
  3. Name Bind-Key clearly and technically.
  4. Check selection source, pre-occupation and allowed module links.
  5. Limit finish logic only to the intended record.
  6. Save binding and select the bind reference in the workflow step.

10. Validate and store

The designer checks the sequence already when editing; during storage, the server-side binding validation follows. Typical tests:

  • at least one active step
  • Name and unique key per step
  • at least two outcomes for decisions
  • Dependencies exist and only point to earlier steps
  • Objective and title are understandable

Only save when validation errors are no longer displayed. Then return to the list and start the workflow via the Start action.

11. Testing changes correctly

Snapshot Rule: At start, the instance stores the current normalized definition status. A later admin change applies to new launches; an already running pass remains unchanged.
  1. Save definition.
  2. Start a new instance – do not continue to use an old instance.
  3. Test mandatory, optional and error paths.
  4. Go through each decision branch separately.
  5. Check automatically with existing and missing technical value.
  6. Test finish with valid and invalid technical data.

Final check for definitions

  • Workflow key stable, unique and technically named
  • Name, destination and description understandable to users
  • Steps in meaningful order with unique keys
  • Decision values and dependencies completely
  • External actions remain visible and explicitly confirmed
  • Bindings, module links and finish logic checked
  • All branches tested with new instances
  • Definition only activated after successful test

Further: Using the workflowAll tutorials

Text walkthrough

The slideshow remains the visual tutorial. These steps provide a complete text fallback.

Prerequisite: Sign in with an account that has access to the area shown in the tutorial.
  1. From Idea to Definition
  2. Clarifying the objective
    What should be achieved in the end technically?
  3. Modeling steps
    Order inputs, actions, tests and decisions.
  4. Domain modules binding
    Connect selection, prefill and finish logic.
  5. Validation
    Save, restart and test each branch.
  6. Write down technical objective
    Do not start with fields, but with a clear result. A workflow is well tailored when users understand what is achieved after completion and what evidence to support it needs to be.
  7. Creating a new definition
    Open Workflow definitions and choose New workflow. Fill in the header data completely first.
  8. Select building blocks
    The visual designer offers four building block types:
  9. Describe each step clearly
    Open the details of the building block and maintain at least label, internal key, result and editing path.
  10. Defining choices and decisions
    Options are recorded line by line. With wert=Beschriftung Separate stored value and visible text:
  11. Build branches
    A dependent step always refers to a previous step and optionally to its result.
  12. Explicit use of automatic tests
    For tests: Automatically check, otherwise manually are selected. Only reliable observations for which the domain module can reliably deliver a value are automated.

Checkpoint: After the final step, reload the target page and confirm that the expected state remains active.

Common errors: If a control or record is missing, first check permissions, the active language, filters and whether the preceding step was saved.