Skip to main content
Skip table of contents

Configuring Custom Actions

DBM allows administrators to define their own actions. These actions can be executed by a click on a user-defined toolbar button, from the context menu (right-click menu) of selected table items, or from the "Entry" main menu. To configure a custom action, use the Digas Administrator tool (Admin.exe) or the DPE admin page.

Common Configuration

Each custom action is configured in a subfolder of the | DBM | Actions | key. The name of the subfolder is not relevant to execution of the action; however, when you assign a keyboard accelerator to the action, the accelerator is named after the folder, so folder names should be meaningful.

You can define custom actions at GLOBAL, LOCAL, use USER level of the Digas registry. You can even define some parts at GLOBAL, others at LOCAL and yet others at USER level. If you do that, each action must use the exact (except for upper/lower case) same folder name at each level.

  • Use the DigaSystem Administrator tool or DPE Admin to add the configuration data to the Digas registry.

  • Create the registry folder | DBM | Actions | if it does not exist.

  • Inside this folder, create a folder for each custom action.

  • Inside the action folder, create entries as described below.

Configuration entries depend on the type of action; this section descriped entries that are common to all types of action.

If this parameter is defined, the action is available only for the tables listed in the parameter's value. Otherwise, the current table doesn't play a role for the action's availability. The value is a list of table specifications, separated by commas, semicolons, or vertical bars. Each specification is either a table's alias name or has the type dsn\name (the backslash is essential). the alias, the dsn and the name parts can contain DOS-style wildcards.

Parameter Name



Launch specifies that this action should launch an external program. Workflow specifies that a DPE workflow is scheduled for immediate execution.

The default value is Launch.


If not empty, defines the name of an action right that the user must have to execute this action.

If empty or undefined, no action right is required.


Set to FALSE to hide the button for a specific workstation or user.

The default value is TRUE.


Defines the text that is displayed while the mouse hovers over the button, and the text that is displayed in various menus.

The default is the name of the containing configuration folder.

since DBM 5.8.8216.0

Defines that the action is visible only when specific tables are open. Contains a list of table specifications, separated by commas, semicolons, or vertical bars. Each specification is either an alias name, or it has the form dsn\name (the backslash is essential). Alias, dsn, and name parts can contain DOS-like wildcards.


The display index defines the order in which custom actions are displayed in the toolbar and in menus. Actions are displayed in order of ascending DisplayIndex values. Actions that have the same DisplayIndex appear in arbitrary order.

The default value is 0.


Defines the graphic that appears on the toolbar button. This entry contains the full (absolute) path of the file. The file can be any of the following formats: EMF, PNG, BMP.

If empty or not defined, a default image is used.


Set this entry to to TRUE when the Picture parameter points to an image that is white on transparent background. DBM will set the foreground color to the standard symbol color, so that the button appears like the standard DBM toolbar buttons.

You should use this option whenever possible in order to get a consistent appearance of DBM's user interface, independent of the currently used color scheme.

The default value is FALSE.

since DBM 5.5.8013.0

Define this parameter to colorize a white-on-transparent image. Note that ApplySymbolColor must be set to 1 for this parameter to work. The default color is the standard icon color from the color scheme.

since DBM 5.8.8209.0

If this entry is TRUE, the action is available even if no table entry is selected. This would typically be the case for actions which operate on a complete table.

The default value is FALSE.

Additional options which are available if Action=Launch are documented in the section “Launching an External Program”.

Launching an External Program

When you configure Action=Launch (this is the default Action value), DBM launches an external program when you click the button or select the menu entry. Optionally, DBM can move its application window on the screen so that the other part of the screen is available to the external program. In addition to the configuration entries mentioned under Common Configuration, the following entries are required.

Parameter Name



Either the name of a program that is known to the Digas System (i.e. a program that has an entry in the | Programs | folder), or the full path of the executable file.

This parameter is mandatory.


If not empty, the DBM window will be resized and/or moved after the configured program has been launched. Possible values are:

  • upperhalf: DBM uses upper half or monitor

  • lowerhalf: DBM uses lower half or monitor

  • righthalf: DBM uses right half or monitor

  • lefthalf: DBM uses left half or monitor

  • maximized: DBM is maximized

  • minimized: DBM is minimized

  • normal: DBM window is changed to "normal" (neither maximized nor minimized)

  • none: DBM is not resized or moved (same as no setting, but can e.g. be used to override a global setting for a specific user)

The following options are valid for two-monitor setups only:

  • fullscreen_left: DBM uses full screen on left monitor

  • fullscreen_right: DBM uses full screen on right monitor

  • fullscreen_top: DBM uses full screen on top monitor (for two monitors one above the other)

  • fullscreen_bottom: DBM uses full screen on bottom monitor (for two monitors one above the other)

  • fullscreen: DBM uses whole screen (all monitors)

  • upperhalf_left: DBM uses upper half of left screen

  • lowerhalf_left: DBM uses lower half of left screen

  • upperhalf_right: DBM uses upper half of right screen

  • lowerhalf_right: DBM uses lower half of right screen

If this value is not configured, DBM does not move or resize its window.

new since version 5.8.8209.0

Contains the command line tail for the external program. You can use various placeholders which are replaced by actual values from the selected entry when the program is launched (see below for a list).

new since version 5.8.8209.0

Set this parameter to 0 if the button should be disabled when nothing is selected in the table. The default value for Action=Launch is 1. (Note that, for Action=Workflow, the default is 0!)

new since version 5.8.8209.0

Set this parameter to 0 if the button should be disabled when more than one entry is selected in the table. The default value for Action=Launch is 1.

new since version 5.9.8233.0

If this parameter contains a list of class names, then the action is available only if selected items belong to one of these classes. (For Action=Workflow, this can be configured via the Config parameter.)

new since version 5.8.8216.0

If this parameter has the value 1 or true, then the action is available only when a table is open. (DBM starts without an open table unless this is explicitly configured.)

since DBM 5.8.8209.0

Most actions process only a single entry, and when an action is started for multiple selected entries, DBM launches separate actions for each selected entry. However, if the action was implemented so that it can process a number of selected entries in a single instance, you should set this parameter to TRUE.

The default value is FALSE.

If Config is empty, no button is created.

When the tool is configured with MultiSelection=1 and ManyToOne=0, and you have selected multiple entries when you click the button, then the tool is launched separately for each selected entry. All instances of the tool execute in parallel, and there is no guarantee as to which instance will finish first.

Command Line Placeholders

New feature since version 5.8.8210.0

The CommandLine parameter can contain placeholders which are replaced by actual value before the command line is passed to the external program. Placeholders fall into three categories:

  • Digas variables, defined in the "Variables" section of the Digas registry. Specify Digas variables between percent signs like %DigasDir%.

  • Windows environment variables. Like Digas variables, use percent signs: %COMPUTERNAME%. When a Windows environment variable has the same name as a Digas variable, the Digas variable overrides the environment variable.

  • Placeholders that refer to the selected entry. Specify them between curly braced, like {TITLE}. These names must be written all uppercase. The most useful names are: {DSN}, {TABLE}, {NUMBER} (alias: {REFNO}), {TITLE}, {FILENAME}. To insert a left curly brace, use this syntax: {{}.

CommandLine="{MEDIUM/FILE#1/FILEREF}" passes the name of the main media file on the command line.

On the usage of quotation marks

Most programs use whitespace (space, tab, etc.) as parameter delimiter. This makes is difficult to pass file paths on the command line which contain whitespace, such as C:\Program Files\Windows NT, because programs will consider this to be several parameters, and complain they cannot find C:\Program. If this happens, try to enclose the parameter in double quotation marks, such as "C:\Program Files\Windows NT". If no whitespace is present, the quotation marks are simply ignored.

When you create a command line with a parameter that might contain whitespace, just add quotation marks, like this: CommandLine="{TITLE}".

Note that this is standard behaviour of Windows programs, but programs are not forced to behave according to the standard. If the program's documentation doesn't help, you must try whether quotation marks are required.

Placeholders of any category which cannot be resolved are replaced by an empty string.

When is the Custom Action Available?

Most actions require a table entry to be selected, or maybe only a table to be open. Others may work even when multiple entries are selected, or when no table is open. This section lists the parameters you should set to achieve this.

Parameter values 0 and 1 are equivalent to FALSE and TRUE, respectively.

Is a table required?

  • No: The action should be available even if no table is open: RequiresTable=0 (this is the default)

  • Yes: The action requires a table to operate on: RequiresTable=1

Is selection required?

  • No: The action doesn't require selected entries: IsVisibleFor0Entries=1 (this is the default is Action=Launch)

  • Yes: The action required one or more entries to be selected: IsVisibleFor0Entries=0 (this is the default for Action=Workflow)

Are multiple selected entries allowed?

  • No: The action processes no more than one entry: MultiSelection=0

  • Yes: The action can work on any number of entries: MultiSelection=1 (this is the default)

Can the action process multiple entries at once?

  • No: Start a separate instance of the external program or workflow for each selected entry: ManyToOne=0 (this is the default)

  • Yes: Start only one instance of the external program or the workflow, the instance can handle multiple selection: ManyToOne=1

The following dependencies exist across these parameters:

  • Action=Workflow implies RequiresTable=1.

Some parameter combinations can lead to unexpected behaviour. For example, When you set RequiresTable=0 but do not set IsVisibleFor0Entries=1, then the action is available when no table is open, but becomes disabled when you open a table, unless you select an entry.

Triggering a DPE Workflow

With Action=Workflow, you can request execution of a workflow from your DPE system. This can only work if you have a DPE system installed that connects to the same database and configuration values as DBM. Configuration is the same as under Common Configuration, with the following additions.

Parameter Name



The workflow configuration. See Configuration for Starting a Workflow for an Entry for details.

This parameter is mandatory.

new since version 5.8.8209.0

Set this parameter to 1 if the button should be enabled when nothing is selected in the table. The default value for Action=Workflow is 0. (Note that, for Action=Launch, the default is 1!)

In DBM versions up to 5.8.8208.0, Action=Workflow custom actions are not available while no database entry is selected. They may be unavailable when multiple items are selected, or when selected items do not have the configured class; this is defined on the Config entry as documented in Configuration for Starting a Workflow for an Entry.

Configuring Sub Menus

When you have a large number of custom actions, it may help to group these actions into menus. The DBM custom actions configuration lets you create menus that contain a subset of available actions. This menu is represented by a toolbar button and by a submenu entry in the menus. Its name, graphical symbol, position etc. are configured with the entries listed under Common Configuration. The Action entry is ignored (it is not required). To flag this entry as submenu entry, create the Children folder in this configuration folder, such as | DBM | Actions | <MenuButton> | Children | <SubMenuButton> |. Inside the Children folder, add folders for SubMenuButton(s) that configure actions.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.